package cn.aias.rbac.infrastructure.DataInitializer;

import cn.aias.rbac.domain.model.User;
import cn.aias.rbac.domain.repository.UserRepository;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

@Component
public class DataInitializer implements CommandLineRunner {

    private final UserRepository userRepository;

    // 通过构造器注入UserRepository（Lombok可简化为@RequiredArgsConstructor）
    public DataInitializer(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    @Override
    public void run(String... args) throws Exception {
        // 检查是否已有数据（避免重复初始化）
        if (userRepository.count() > 0) {
            return;
        }

        // 生成100条测试数据（根据User实体字段调整）
        for (int i = 1; i <= 100; i++) {
            User user = new User();
            user.setUsername("test_user_" + i);  // 假设User有username字段
            user.setEmail("user_" + i + "@example.com");  // 假设User有email字段
            // 其他字段根据实际需求补充（如手机号、角色等）
            userRepository.save(user);
        }
    }
}
